package com.sc.VenusQueryBeta.contract.login;

import com.hengjun.kingstar.sdk.base.BasePresenter;
import com.hengjun.kingstar.sdk.base.IBaseActivity;
import com.hengjun.kingstar.sdk.base.IBaseModel;
import com.sc.VenusQueryBeta.model.bean.login.ComfirmRegistrationBean;
import com.sc.VenusQueryBeta.model.bean.login.RegistBean;

import io.reactivex.Observable;

/**
 * 下一步契约主页接口
 */

public interface NextRegistContract {
    abstract class NextPresenter extends BasePresenter<INextModel,INextView>{
        /**
         * 直接註冊
         * @param id
         * @param smsCode
         * @param password
         * @param clientUID
         * @param deviceUID
         * @param deviceType
         * @param areaCode
         */
        public abstract void register(String id,String smsCode, String password, String clientUID,
                                      String deviceUID, String deviceType, String areaCode);

        /**
         * 確認註冊
         * @param id
         * @param smsCode
         * @param password
         * @param clientUID
         * @param deviceUID
         * @param deviceType
         */
        public abstract void confirmRegister(String id,String smsCode,String password,String clientUID,
                                             String deviceUID,String deviceType);
    }
    interface INextModel extends IBaseModel {
        //註冊
        Observable<RegistBean> regist(String id, String smsCode, String password, String clientUID,
                                      String deviceUID, String deviceType, String areaCode);
        //確認註冊
        Observable<ComfirmRegistrationBean> confirmRegist(String id, String smsCode, String password, String clientUID,
                                                          String deviceUID, String deviceType);
    }
    interface INextView extends IBaseActivity{
        /**
         * 直接註冊成功
         * @param registBean
         */
        void returnRegistSuccess(RegistBean registBean);

        void showNetworkError();

        //確認註冊
        void returnConfirmRegistSuccess(ComfirmRegistrationBean comfirmRegistrationBean);
    }
}
